/**
 *******************************************************************************
 * @FileName  : kv.h
 * @Author    : GaoQiu
 * @CreateDate: 2021-4-27
 * @Copyright : Copyright(C) GaoQiu
 *              All Rights Reserved.
 *******************************************************************************
 *
 * The information contained herein is confidential and proprietary property of
 * GaoQiu and is available under the terms of Commercial License Agreement
 * between GaoQiu and the licensee in separate contract or the terms described
 * here-in.
 *
 * This heading MUST NOT be removed from this file.
 *
 * Licensees are granted free, non-transferable use of the information in this
 * file under Mutual Non-Disclosure Agreement. NO WARRENTY of ANY KIND is provided.
 *
 *******************************************************************************
 */
#ifndef _KV_H_
#define _KV_H_

#include "kv_api.h"

int kv_block_format(uint16_t blockId);
void kv_item_free(kv_item_t *item);
int kv_remove_item(kv_item_t *item, uint8_t flag);

int kv_set_block_state(uint32_t blockId, uint8_t state);
kv_item_t *kv_item_iteration(item_func_t func, uint8_t blockId, const char *key);

int kv_gc_start(uint8_t immediate_gc);

#endif /* _KV_H_ */
